package com.ultron.app.modules.system.entity.sysConfig.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 标题：系统配置(Excel业务对象)
 * 说明：系统配置(Excel业务对象)，作为基础新增、修改操作的入参
 * 时间：2024-4-29
 * 作者：admin
 */
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
@Accessors(chain = false)
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("系统配置(Excel业务对象)")
public class SysConfigExcelBO implements Serializable {
    private static final long serialVersionUID = 1L;


    /**
     * 配置分类：WX_CONFIG
     */
    @ApiModelProperty(value = "配置分类：WX_CONFIG")
    @ExcelProperty("配置分类：WX_CONFIG")
    private String type;

    /**
     * 分类文案：微信配置
     */
    @ApiModelProperty(value = "分类文案：微信配置")
    @ExcelProperty("分类文案：微信配置")
    private String typeTxt;

    /**
     * 配置字段名称：WX_APP_ID
     */
    @ApiModelProperty(value = "配置字段名称：WX_APP_ID")
    @ExcelProperty("配置字段名称：WX_APP_ID")
    private String file;

    /**
     * 配置名称：微信APPID
     */
    @ApiModelProperty(value = "配置名称：微信APPID")
    @ExcelProperty("配置名称：微信APPID")
    private String title;

    /**
     * 值：test
     */
    @ApiModelProperty(value = "值：test")
    @ExcelProperty("值：test")
    private String val;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    @ExcelProperty("描述")
    private String des;


    /**
     * 改造Excel模版
     *
     * @return
     */
    public SysConfigExcelBO buildExportModule() {
        this.type = "配置分类：WX_CONFIG";
        this.typeTxt = "分类文案：微信配置";
        this.file = "配置字段名称：WX_APP_ID";
        this.title = "配置名称：微信APPID";
        this.val = "值：test";
        this.des = "描述";
        return this;
    }
}